home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
tcl
/
tclm_1_0.lha
/
tclm-1.0
/
mseq.BNF
< prev
next >
Wrap
Text File
|
1993-08-16
|
829b
|
47 lines
I can't quite remember proper BNF format but here's a try.
Things in *'s are literals.
I'm not going to define numbers or filenames. Guess.
mseq_file :== section+
section :== *track* statement+
statement :== labeled sequence | filename | command | comment
labeled seuqence :== label sequence
label :== name*:*
sequence :== block | filename
block :== *{* sequence+ *}*
command :== *repeat* label | *repeat* label multiplier
multiplier :== number
comment :== *#* anything to end-of-line
Essentially what you want is stuff like:
track
# This is track 1
pat1.mid
pat2.mid
A: {
pat3.mid
B: { # block B:
pat4.mid
pat5.mid
}
pat6.mid
repeat B: 3
}
pat7.mid
pat8.mid # pattern 8
# This is track 2
track
pat1.mid
pat2.mid
A: {
pat3.mid
pat4.mid
B: pat5.mid
pat6.mid
repeat B: 6
}
pat7.mid
repeat A: